/******************************************************************************/
/* Fichero: InterfazRemotaServidor.java
/* Versión: 1.0
/* Autor: Ana Belen Cambra
/* Fecha: Mayo 2009
/* Proyecto: Gestor de Cumpleaños de AelanSoft - Cliente
/* Descripción: Interfaz remota para RMI
/******************************************************************************/
package rmi;

import utiles.VectorPersonas;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.ServerNotActiveException;

/******************************************************************************/
public interface InterfazRemotaServidor extends Remote {
/******************************************************************************/

   /****************************************************************************
    * Introduccion de un usuario en la base de datos
    * @param nombre nombre del usuario
    * @param apellidos apellidos del usuario
    * @param correo correo electronico del usuario
    * @param contrasena contraseña del usuario
    * @param cumpleanosDia dia de cumpleaños del usuario
    * @param cumpleanosMes mes de cumpleaños del usuario
    * @return estado codigo de estado
    * @throws java.rmi.RemoteException
    * @throws java.rmi.server.ServerNotActiveException
    ***************************************************************************/
   public Integer IntroducirUsuario(String nombre, String apellidos,
      String correo, String contrasena, Integer cumpleanosDia,
      Integer cumpleanosMes) throws RemoteException, ServerNotActiveException;

   /****************************************************************************
    * Validacion de un usuario en la base de datos
    * @param correo correo electronico del usuario
    * @param contrasena contraseña del usuario
    * @return estado codigo de estado
    * @throws RemoteException
    * @throws ServerNotActiveException
    ***************************************************************************/
   public Integer ValidarUsuario(String correo, String contrasena) throws
      RemoteException, ServerNotActiveException;
   /****************************************************************************
    * Recuperacion de la lista de amigos de un usuario de la base de datos
    * @param correo correo electronico del usuario
    * @return amigos lista de amigos del usuario
    * @throws java.rmi.RemoteException
    * @throws java.rmi.server.ServerNotActiveException
    ***************************************************************************/
   public VectorPersonas ListarAmigos(String correo) throws
      RemoteException, ServerNotActiveException;

   /****************************************************************************
    * Busqueda de amigos del usuario
    * @param correo correo electronico del usuario
    * @param datos datos de busqueda
    * @return amigos lista de amigos del usuario
    * @throws java.rmi.RemoteException
    * @throws java.rmi.server.ServerNotActiveException
    ***************************************************************************/
   public VectorPersonas BuscarAmigos(String correo, String datos)
      throws RemoteException, ServerNotActiveException;

   /****************************************************************************
    * Adicion de un amigo a un usuario en la base de datos
    * @param correoU correo electronico del usuario
    * @param correoA correo electronico del nuevo amigo
    * @return estado codigo de estado
    * @throws java.rmi.RemoteException
    * @throws java.rmi.server.ServerNotActiveException
    ***************************************************************************/
   public Integer AnadirAmigo(String correoU, String correoA) throws
      RemoteException, ServerNotActiveException;
}
